Traditional databases are generally utilized for storing data that is not constantly changing in value (i.e., persistent data). Some data is generated in the form of a data stream to support constantly changing data values in real-time applications (e.g., sensor data, Internet traffic, financial tickers, on-line auctions, and transaction logs such as Web usage logs and telephone call records).
As such, a data stream is a real-time, continuous, ordered (implicitly by arrival time or explicitly by timestamp) sequence of items. Often, the order in which items in a data stream arrive is difficult to manage. Further, the local storage of data streams is not practical using the traditional database models which are mainly designed to handle persistent data management tasks such as relational queries.
To address the above, real-time databases have been designed to handle data types with values that change very often. For example, data that reflects value changes in the financial markets may need to be updated every second. Real-time processing is meant to provide for the speedy processing of data with almost instantaneous calculation of the intended results. Real-time databases are used in the following exemplary applications: accounting, banking, law, medical records, multi-media, process control, reservation systems, and scientific data analysis.